Skip to content

Conversation

@kakra
Copy link
Owner

@kakra kakra commented Nov 23, 2024

Export patch series: https://github.com/kakra/linux/pull/38.patch

  • xpadneo in-kernel driver: devices handled by xpadneo will be automatically excluded from other kernel drivers (no udev magic or module blacklisting required), otherwise tracks a more or less stable status of the xpadneo development branch, also: if compiled as a module, update via native xpadneo repository is possible

atar-axis and others added 6 commits November 18, 2024 20:00
Co-authored-by: Kai Krakow <kai@kaishome.de>
Signed-off-by: Kai Krakow <kai@kaishome.de>
Added new Xpad driver to the list of specialized drivers, in order to
prevent hid-generic claiming Xbox One S devices.

Signed-off-by: Florian Dollinger <dollinger.florian@gmx.de>
Signed-off-by: Kai Krakow <kai@kaishome.de>
Remove Xbox One S device id from specialized microsoft driver in order to
prevent it from claiming the device.

Signed-off-by: Kai Krakow <kai@kaishome.de>
Signed-off-by: Florian Dollinger <dollinger.florian@gmx.de>
Signed-off-by: Kai Krakow <kai@kaishome.de>
Signed-off-by: Florian Dollinger <dollinger.florian@gmx.de>
Signed-off-by: Kai Krakow <kai@kaishome.de>
Signed-off-by: Kai Krakow <kai@kaishome.de>
kakra pushed a commit that referenced this pull request Apr 20, 2025
[ Upstream commit efdde3d ]

There is case as below could trigger kernel dump:
Use U-Boot to start remote processor(rproc) with resource table
published to a fixed address by rproc. After Kernel boots up,
stop the rproc, load a new firmware which doesn't have resource table
,and start rproc.

When starting rproc with a firmware not have resource table,
`memcpy(loaded_table, rproc->cached_table, rproc->table_sz)` will
trigger dump, because rproc->cache_table is set to NULL during the last
stop operation, but rproc->table_sz is still valid.

This issue is found on i.MX8MP and i.MX9.

Dump as below:
Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
Mem abort info:
  ESR = 0x0000000096000004
  EC = 0x25: DABT (current EL), IL = 32 bits
  SET = 0, FnV = 0
  EA = 0, S1PTW = 0
  FSC = 0x04: level 0 translation fault
Data abort info:
  ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000
  CM = 0, WnR = 0, TnD = 0, TagAccess = 0
  GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
user pgtable: 4k pages, 48-bit VAs, pgdp=000000010af63000
[0000000000000000] pgd=0000000000000000, p4d=0000000000000000
Internal error: Oops: 0000000096000004 [#1] PREEMPT SMP
Modules linked in:
CPU: 2 UID: 0 PID: 1060 Comm: sh Not tainted 6.14.0-rc7-next-20250317-dirty #38
Hardware name: NXP i.MX8MPlus EVK board (DT)
pstate: a0000005 (NzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : __pi_memcpy_generic+0x110/0x22c
lr : rproc_start+0x88/0x1e0
Call trace:
 __pi_memcpy_generic+0x110/0x22c (P)
 rproc_boot+0x198/0x57c
 state_store+0x40/0x104
 dev_attr_store+0x18/0x2c
 sysfs_kf_write+0x7c/0x94
 kernfs_fop_write_iter+0x120/0x1cc
 vfs_write+0x240/0x378
 ksys_write+0x70/0x108
 __arm64_sys_write+0x1c/0x28
 invoke_syscall+0x48/0x10c
 el0_svc_common.constprop.0+0xc0/0xe0
 do_el0_svc+0x1c/0x28
 el0_svc+0x30/0xcc
 el0t_64_sync_handler+0x10c/0x138
 el0t_64_sync+0x198/0x19c

Clear rproc->table_sz to address the issue.

Fixes: 9dc9507 ("remoteproc: Properly deal with the resource table when detaching")
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Link: https://lore.kernel.org/r/20250319100106.3622619-1-peng.fan@oss.nxp.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
@orbea
Copy link

orbea commented Dec 16, 2025

@kakra Is this going to be rebased for 6.18 or am I missing something?

@kakra
Copy link
Owner Author

kakra commented Dec 16, 2025

This will follow, as soon as I made the xpadneo project compatible. The in-kernel patches need a little code change to apply the upstream xpadneo sources, so I need those first in the v0.10 version. xpadneo v0.9 isn't compatible with kernel 6.18. Stay tuned, I'll ping this PR as soon as the new version is ready.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants